package com.demo.web.generator.params.${lowerDomainObjectName}.req;

import com.baomidou.mybatisplus.core.conditions.AbstractLambdaWrapper;
import com.demo.web.generator.entity.${domainObjectName};
import com.demo.web.generator.params.Req;
import com.demo.web.generator.params.${lowerDomainObjectName}.Criterion;
import lombok.*;
import lombok.experimental.Accessors;

/**
 * @author fengz
 * @version v1
 * @className ReqSelectPage
 * @description TODO
 * @site glp.hcdlearning.com
 * @company 合得软件（上海）有限公司
 * @create ${date} ${time}
 */
@Data
@Builder
@ToString
@EqualsAndHashCode(callSuper = false)
@Accessors
@AllArgsConstructor
public class ReqDelete extends Req {

    Criterion criterion;

    ReqDeleteBuildWrapper buildWrapper;

    public Criterion.CriterionBuilder buildCriterion(){
        return Criterion.builder();
    }

    public interface ReqDeleteBuildWrapper{
        /**
         * 构造查询条件
         * @param wrapper
         * @return
         */
        AbstractLambdaWrapper<${domainObjectName},?> build(AbstractLambdaWrapper<${domainObjectName}, ?> wrapper);
    }
}